Calculate Difference Between Two Time Period using C++ Program

04-11-17 Course- CPP

In this program, user is asked to enter two time periods and these two periods are stored in structure variables. This program caculates the difference between these two time period. To perform this task, a function is created which calculates the difference and the result is displayed in main() function without returning it (Using call by reference technique).

C++ Program to Calculate Difference Between Two Time Period


#include <iostream>

using namespace std;

struct TIME{
  int seconds;
  int minutes;
  int hours;
};

void Difference(struct TIME t1, struct TIME t2, struct TIME *diff);

int main(){
    struct TIME t1,t2,diff;
    cout << "Enter start time: " << endl;
    cout << "Enter hours, minutes and seconds respectively: ";
    cin >> t1.hours >> t1.minutes >> t1.seconds;
    cout << "Enter stop time: " << endl;
    cout << "Enter hours, minutes and seconds respectively: ";
    cin >> t2.hours >> t2.minutes >> t2.seconds;
    Difference(t1,t2,&diff);
    cout << endl << "TIME DIFFERENCE: " << t1.hours << " : " << t1.minutes << " : " << t1.seconds;
    cout << " - " << t2.hours << " : " << t2.minutes << " : " << t2.seconds;
    cout << "= " << diff.hours << " : " << diff.minutes << " : " << diff.seconds;
    return 0;
}
void Difference(struct TIME t1, struct TIME t2, struct TIME *differ){
    if(t2.seconds>t1.seconds){
        --t1.minutes;
        t1.seconds+=60;
    }
    differ->seconds=t1.seconds-t2.seconds;
    if(t2.minutes>t1.minutes){
        --t1.hours;
        t1.minutes+=60;
    }
    differ->minutes=t1.minutes-t2.minutes;
    differ->hours=t1.hours-t2.hours;
}

Output


Enter start time:
Enter hours, minutes and seconds respectively: 12
34
55
Enter stop time:
Enter hours, minutes and seconds respectively:8
12
15

TIME DIFFERENCE: 12 : 34 : 55 - 8 : 12 : 15= 4 : 22 : 40